layui.use(['table', 'layer'], function () {
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;


    //营销机会列表展示
    var tableIns = table.render({
        elem: '#saleChanceList',//表格绑定的ID
        url: ctx + '/sale_chance/list',//访问数据的地址
        cellMinWidth: 95,
        page: true,
        height: "full-125",
        limits: [10, 15, 20, 25],// 每页显示的数量的下拉选项
        limit: 10,//默认每页显示的数量
        toolbar: "#toolbarDemo",//头部工具栏
        id: "saleChanceListTable",//数据表格的唯一表示
        cols: [[
            {type: "checkbox", fixed: "center"},
            {field: "rowId", title: '编号', fixed: "true"},
            {field: 'chanceSource', title: '机会来源', align: "center"},//field  data.对应的key值
            {field: 'customerName', title: '客户名称', align: 'center'},
            {field: 'chanceOfSuccess', title: '成功几率', align: 'center'},
            {field: 'overview', title: '概要', align: 'center'},
            {field: 'linkMan', title: '联系人', align: 'center'},
            {field: 'linkPhone', title: '联系电话', align: 'center'},
            {field: 'description', title: '描述', align: 'center'},
            {field: 'createBy', title: '创建人', align: 'center'},
            {field: 'createDate', title: '创建时间', align: 'center'},
            {field: 'uname', title: '指派人', align: 'center'},
            {field: 'assignTime', title: '分配时间', align: 'center'},
            {
                field: 'allocationStatus', title: '分配状态', align: 'center', templet: function (d) {
                    return formatterState(d.allocationStatus);
                }
            },
            {
                field: 'devResult', title: '开发状态', align: 'center', templet: function (d) {
                    return formatterDevResult(d.devResult);
                }
            },
            // templet 可以绑定工具栏
            {title: '操作', templet: '#saleChanceListBar', fixed: "right", align: "center", minWidth: 150}
        ]]
    });

    function formatterState(state) {
        if (state == 0) {
            return "<div style='color:yellow '>未分配</div>";
        } else if (state == 1) {
            return "<div style='color: green'>已分配</div>";
        } else {
            return "<div style='color: red'>未知</div>";
        }
    }

    function formatterDevResult(value) {
        /**
         * 0-未开发
         * 1-开发中
         * 2-开发成功
         * 3-开发失败
         */
        if (value == 0) {
            return "<div style='color: yellow'>未开发</div>";
        } else if (value == 1) {
            return "<div style='color: #00FF00;'>开发中</div>";
        } else if (value == 2) {
            return "<div style='color: #00B83F'>开发成功</div>";
        } else if (value == 3) {
            return "<div style='color: red'>开发失败</div>";
        } else {
            return "<div style='color: #af0000'>未知</div>"
        }
    }


    // 多条件搜索
    $(".search_btn").on("click", function () {
        /**
         *  table.reload("table.render的定义的id",{})
         */
        table.reload("saleChanceListTable", {
            page: {
                curr: 1
            },
            where: {
                customerName: $("input[name='customerName']").val(),// 客户名
                createBy: $("input[name='createBy']").val(),// 创建人
                allocationStatus: $("#allocationStatus").val()    //分配状态
            }
        })
    });


    /**
     * lay-filter 属性为saleChances 容器绑定 头部工具栏监听事件
     */
    table.on('toolbar(saleChances)', function (obj) {
        //console.log(obj)
        //obj.event 拿 工具栏的事件参数
        switch (obj.event) {
            case "add":
                /**
                 * 打开添加对话框
                 */
                openAddOrUpdateSaleChanceDialog();
                break;
            case "del":
                /**
                 * 打开删除对话框
                 */
                console.log(table);
                console.log(obj);
                /**
                 * 根据table.checkStatus 方法拿到 table 表格里被选中的元素
                 */
                console.log(table.checkStatus(obj.config.id));
                delSaleChance(table.checkStatus(obj.config.id).data);
                break;
        }
    });


    /**
     * 打开添加或更新对话框
     */
    function openAddOrUpdateSaleChanceDialog(rowId) {
        var title = "营销机会管理-机会添加";
        var url = ctx + "/sale_chance/addOrUpdateSaleChancePage";
        if (rowId) {
            title = "营销机会管理-机会更新";
            url = url + "?rowId=" + rowId;
        }
        layui.layer.open({
            title: title,
            type: 2,// iframe 层
            area: ["700px", "500px"],
            maxmin: true,//可以设置最大化和最小化
            /**
             *  http://haibin.con
             *  在iframe 中打开 ，这里的content 是一个url
             */
            content: url
        })
    }


    table.on('tool(saleChances)', function (obj) {
        var layEvent = obj.event;
        if (layEvent === "edit") {
            openAddOrUpdateSaleChanceDialog(obj.data.rowId);
        } else if (layEvent === "del") {
            layer.confirm("确认删除当前记录?", {icon: 3, title: "机会数据管理"}, function (index) {//index 是弹出框本身
                $.ajax({
                    url: ctx + "/sale_chance/delete"
                    , type: "delete"
                    , data: {ids: obj.data.rowId}
                    , success: function (data) {
                        if (data.code == 200) {
                            layer.msg("删除成功",{icon: 6});
                            tableIns.reload();
                        } else {
                            layer.msg(data.msg);
                        }
                    }
                });
            });
        }
    });


    function delSaleChance(datas) {
        /**
         * 批量删除
         *   datas:选择的待删除记录数组
         */
        if (datas.length == 0) {
            layer.msg("请选择待删除记录!");
            return;
        }

        layer.confirm("确定删除选中的记录", {btn: ['确定', '取消']}, function (index) {
            var ids = "ids=";
            for (var i = 0; i < datas.length; i++) {
                if (i < datas.length - 1) {
                    ids = ids + datas[i].rowId + "&ids=";
                } else {
                    ids = ids + datas[i].rowId;
                }
            }
            $.ajax({
                type: "delete",
                url: ctx + "/sale_chance/delete",
                data: ids,
                dataType: "json",
                success: function (data) {
                    if (data.code == 200) {
                        layer.msg("删除成功",{icon: 6});
                        tableIns.reload();
                    } else {
                        layer.msg(data.msg);
                    }
                }
            });
        });
    }
    return null;
});
